package com.sugon.entity;

import cn.hutool.core.util.StrUtil;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 模次同步通知，用于模具换件后通知程序同步模次实体
 * 表名 MODULE_TIMES_SYN_NOTICE
 *
 * @author YuXD
 * @date 2020-11-13 10:27
 */
@Data
public class ModuleTimesSynNoticeEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 是否已处理,1:已处理 0:未处理
     */
    private Integer isHandled;
    /**
     * 审批时间
     */
    private Date approveDate;
    /**
     * 本次换件时间：本次什么时间换件
     */
    private Date replaceDate;

    /**
     * 上一次换件时间，理论上[上一次换件时间，本次换件时间] 中间产生的模次数，就是该位置的使用次数
     */
    private Date lastReplaceDate;

    /**
     * 添加换件记录的时间
     * 实际业务中一般都是先换件，然后在补写换件记录
     */
    private Date addRecordDate;

    /**
     * 模具换件记录ID
     */
    private String replaceRecordId;

    /**
     * 关联位置ID
     */
    private String correlationPositionId;
    /**
     * 模具编码,一般取自模具中LAST_CODE字段
     */
    private String moldNo;

    /**
     * 模具类别CODE，用来识别是哪个模次同步器
     */
    private String moldTypeCode;

    /**
     * $column.comments
     */
    private String id;

    /**
     * 最近一次更新时间
     */
    private Date gmtModified;
    /**
     * 创建时间
     */
    private Date gmtCreate;

    /**
     * 备注
     */
    private String remark;

    public void setMoldTypeCode(String moldTypeCode) {
        if (StrUtil.isNotEmpty(moldTypeCode) && moldTypeCode.length() > 2) {
            moldTypeCode = StrUtil.sub(moldTypeCode, 0, 2);
        }
        this.moldTypeCode = moldTypeCode;
    }

}
